using System;
using System.Xml.Serialization;
using System.Collections;
using System.Collections.Generic;

//NOTE: .NET namepaces/packages do not allow for number values ie www.rewerse.net.I1.2006.R2ML was changed to the name space below.
namespace R2ML
{
    //[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.rewerse.net/I1/2006/R2ML")]
    //[System.Xml.Serialization.XmlTypeAttribute(schemaLocation = "http://www.rewerse.net/I1/2006/R2ML http://oxygen.informatik.tu-cottbus.de/R2ML/0.4/R2ML.xsd")]
    [System.Xml.Serialization.XmlRootAttribute("RuleBase", Namespace = "http://www.rewerse.net/I1/2006/R2ML", IsNullable = false)]
    public class RuleBase
    {
        #region fields
        [System.Xml.Serialization.XmlElementAttribute("ReactionRuleSet",typeof(ReactionRuleSet))]
        public ReactionRuleSet ruleSet;

        //[System.Xml.Serialization.XmlAttributeAttribute("schemaLocation", Namespace = "http://www.rewerse.net/I1/2006/R2ML http://oxygen.informatik.tu-cottbus.de/R2ML/0.4/R2ML.xsd")]
        //public String schemaLocation = "";

        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName = "schemaLocation", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
        public string schemaLocation = "http://www.rewerse.net/I1/2006/R2ML http://oxygen.informatik.tu-cottbus.de/R2ML/0.4/R2ML.xsd";
        //[System.Xml.Serialization.XmlElementAttribute("GenericVariable")]
        //[System.Xml.Serialization.XmlElementAttribute("ObjectVariable")]
        //[System.Xml.Serialization.XmlElementAttribute("DataVariable")]
        //public object[] items;
        //[System.Xml.Serialization.XmlAttributeAttribute()]
        //public string externalVocabularyID;
        //[System.Xml.Serialization.XmlAttributeAttribute()]
        //public string externalVocabularyLanguage;
        #endregion

        public RuleBase()
        {
        }
        #region properties

        //[System.Xml.Serialization.XmlIgnoreAttribute()]
        //public ReactionRuleSet RuleSet
        //{
        //    get { return ruleSet; }
        //    set { ruleSet = value; }
        //}

        //[System.Xml.Serialization.XmlIgnoreAttribute()]
        //public object[] Items
        //{
        //    get { return items; }
        //    set { items = value; }
        //}

        //[System.Xml.Serialization.XmlIgnoreAttribute()]
        //public string ExternalVocabularyID
        //{
        //    get { return externalVocabularyID; }
        //    set { externalVocabularyID = value; }
        //}

        //[System.Xml.Serialization.XmlIgnoreAttribute()]
        //public string ExternalVocabularyLanguage
        //{
        //    get { return externalVocabularyLanguage; }
        //    set { externalVocabularyLanguage = value; }
        //}
        #endregion

        #region methods

        //public ReactionRuleSet[] getRuleSet()
        //{
        //    return ruleSet;
        //}

        //public void setRuleSet(ReactionRuleSet[] param)
        //{
        //    ruleSet = param;
        //}

        //public object[] getItems()
        //{
        //    return items;
        //}

        //public void setItems(object[] param)
        //{
        //    items = param;
        //}

        //public string getExternalVocabularyID()
        //{
        //    return externalVocabularyID;
        //}

        //public void setExternalVocabularyID(string param)
        //{
        //    externalVocabularyID = param;
        //}

        //public string getExternalVocabularyLanguage()
        //{
        //    return externalVocabularyLanguage;
        //}

        //public void setExternalVocabularyLanguage(string param)
        //{
        //    externalVocabularyLanguage = param;
        //}
        #endregion
    }
}
